A storage controller is a physical processing device that is used to store and retrieve data on behalf of one or more hosts. A network storage controller can be configured (e.g., by hardware, software, firmware, or any combination thereof) to operate as a storage server that serves one or more clients on a network, to store and manage data in a set of mass storage devices, such as magnetic or optical storage-based disks, tapes, or flash memory. Some storage servers are designed to service file-level requests from hosts, as is commonly the case with file servers used in a network attached storage (NAS) environment. Other storage servers are designed to service block-level requests from hosts, as with storage servers used in a storage area network (SAN) environment. Still other storage servers are capable of servicing both file-level requests and block-level requests, as is the case with certain storage servers made by NetApp®, Inc. of Sunnyvale, Calif., employing the Data ONTAP® storage operating system.
Storage server migration from one storage controller to another is often desirable for maintaining a robust network storage environment. A storage server migration includes moving data, including storage server configuration data, and client access to that data from one storage controller to a second storage controller. A storage server migration can be performed for many reasons, including storage capacity growth, equipment lifecycle management, storage server technology and software upgrades, and storage system load balancing. A conventional storage server migration process requires storage servers and client applications to be shut down and reconfigured. However, the requirement to keep storage servers running makes a conventional storage server migration inconvenient, and migration becomes impractical as cloud computing and server virtualization become more prevalent.